package com.his.drugstage.pojo;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @author:lym
 * @createTime:2023年7月2日09点28分
 * @version v1.0
 *
 */
@Data//封装实体类属性，加此注解后在实体类中可以不用写get set方法
@NoArgsConstructor//自动构造无参构造方法，加此注解后在实体类中可以不用写无参构造函数
@AllArgsConstructor//自动构造有参构造方法，加此注解后在实体类中可以不用写有参构造函数
public class DrugInfo implements Serializable { //实体类实现Serializable使该实体类的对象可以被序列化和反序列化，从而使数据可以通过网络节点传输
    //所有的成员变量名注意要跟数据库一致，但要去掉下划线和转换为驼峰命名
    private Integer  id;               //
    private String drugCode;          //药品编码  此属性在数据库中的类型为varchar（变长字符）
    private String drugName;          //药品名称
    private String drugFormat;        //药品规格
    private String drugUnit;          //包装单位
    private String manufacturer;      //生产厂家
    private String drugDosage;        //药剂类型
    private String drugType;          //药品类型
    private double drugPrice;         //药品单价  此属性在数据库中的类型为decimal（小数）
    private String mnemonicCode;      //拼音助记码


    @DateTimeFormat(pattern = "yyyy-MM-dd")
    //日期格式转换,根据数据库数据类型更改转换格式
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    /*指定JSON序列化和反序列化时的日期格式和时区。
        • pattern属性用于指定日期格式的模式，例如"yyyy-MM-dd HH:mm:ss"表示年-月-日 时:分:秒的格式。
        • timezone属性用于指定时区，例如"GMT+8"表示东八区的时区。
      当实体类中的日期属性被序列化成JSON时，会按照指定的日期格式和时区进行格式化。
      反之，当JSON反序列化为实体类对象时，会根据指定的日期格式和时区解析日期字符串。*/
    private Date creationDate;      //创建时间   此属性在数据库中的类型为Date（日期）


}
